﻿/*
 * XCoder v3.4.2011.0316
 * 作者：nnhy/X
 * 时间：2011-04-04 11:54:06
 * 版权：版权所有 (C) 新生命开发团队 2010
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using XCode;
using XCode.DataAccessLayer;

namespace NXCMS.CMS
{
	/// <summary>
	/// 声音
	/// </summary>
	[Serializable]
	[DataObject]
	[Description("声音")]
	[BindTable("Audio", Description = "声音", ConnName = "CMS", DbType = DatabaseType.SqlServer)]
	public partial class Audio
	{
		#region 属性
		private Int32 _ID;
		/// <summary>
		/// 编号
		/// </summary>
		[Description("编号")]
		[DataObjectField(true, true, false, 10)]
		[BindColumn(1, "ID", "编号", "", "int", 10, 0, false)]
		public Int32 ID
		{
			get { return _ID; }
			set { if (OnPropertyChange("ID", value)) _ID = value; }
		}

		private String _Name;
		/// <summary>
		/// 名称
		/// </summary>
		[Description("名称")]
		[DataObjectField(false, false, false, 100)]
		[BindColumn(2, "Name", "名称", "", "nvarchar(100)", 0, 0, true)]
		public String Name
		{
			get { return _Name; }
			set { if (OnPropertyChange("Name", value)) _Name = value; }
		}

		private String _OldName;
		/// <summary>
		/// 
		/// </summary>
		[Description("")]
		[DataObjectField(false, false, false, 100)]
		[BindColumn(3, "OldName", "", "", "nvarchar(100)", 0, 0, true)]
		public String OldName
		{
			get { return _OldName; }
			set { if (OnPropertyChange("OldName", value)) _OldName = value; }
		}

		private Int32 _SiteID;
		/// <summary>
		/// 站点编号
		/// </summary>
		[Description("站点编号")]
		[DataObjectField(false, false, false, 10)]
		[BindColumn(4, "SiteID", "站点编号", "", "int", 10, 0, false)]
		public Int32 SiteID
		{
			get { return _SiteID; }
			set { if (OnPropertyChange("SiteID", value)) _SiteID = value; }
		}

		private String _Tag;
		/// <summary>
		/// 标签
		/// </summary>
		[Description("标签")]
		[DataObjectField(false, false, true, 100)]
		[BindColumn(5, "Tag", "标签", "", "nvarchar(100)", 0, 0, true)]
		public String Tag
		{
			get { return _Tag; }
			set { if (OnPropertyChange("Tag", value)) _Tag = value; }
		}

		private Int32 _CatalogID;
		/// <summary>
		/// 类别编号
		/// </summary>
		[Description("类别编号")]
		[DataObjectField(false, false, false, 10)]
		[BindColumn(6, "CatalogID", "类别编号", "", "int", 10, 0, false)]
		public Int32 CatalogID
		{
			get { return _CatalogID; }
			set { if (OnPropertyChange("CatalogID", value)) _CatalogID = value; }
		}

		private String _CatalogInnerCode;
		/// <summary>
		/// 类别内部代码
		/// </summary>
		[Description("类别内部代码")]
		[DataObjectField(false, false, false, 100)]
		[BindColumn(7, "CatalogInnerCode", "类别内部代码", "", "nvarchar(100)", 0, 0, true)]
		public String CatalogInnerCode
		{
			get { return _CatalogInnerCode; }
			set { if (OnPropertyChange("CatalogInnerCode", value)) _CatalogInnerCode = value; }
		}

		private String _BranchInnerCode;
		/// <summary>
		/// 分支内部代码
		/// </summary>
		[Description("分支内部代码")]
		[DataObjectField(false, false, true, 50)]
		[BindColumn(8, "BranchInnerCode", "分支内部代码", "", "nvarchar(50)", 0, 0, true)]
		public String BranchInnerCode
		{
			get { return _BranchInnerCode; }
			set { if (OnPropertyChange("BranchInnerCode", value)) _BranchInnerCode = value; }
		}

		private String _Path;
		/// <summary>
		/// 路径
		/// </summary>
		[Description("路径")]
		[DataObjectField(false, false, false, 100)]
		[BindColumn(9, "Path", "路径", "", "nvarchar(100)", 0, 0, true)]
		public String Path
		{
			get { return _Path; }
			set { if (OnPropertyChange("Path", value)) _Path = value; }
		}

		private String _FileName;
		/// <summary>
		/// 文件名称
		/// </summary>
		[Description("文件名称")]
		[DataObjectField(false, false, false, 100)]
		[BindColumn(10, "FileName", "文件名称", "", "nvarchar(100)", 0, 0, true)]
		public String FileName
		{
			get { return _FileName; }
			set { if (OnPropertyChange("FileName", value)) _FileName = value; }
		}

		private String _SrcFileName;
		/// <summary>
		/// 
		/// </summary>
		[Description("")]
		[DataObjectField(false, false, false, 100)]
		[BindColumn(11, "SrcFileName", "", "", "nvarchar(100)", 0, 0, true)]
		public String SrcFileName
		{
			get { return _SrcFileName; }
			set { if (OnPropertyChange("SrcFileName", value)) _SrcFileName = value; }
		}

		private String _Suffix;
		/// <summary>
		/// 
		/// </summary>
		[Description("")]
		[DataObjectField(false, false, false, 10)]
		[BindColumn(12, "Suffix", "", "", "nvarchar(10)", 0, 0, true)]
		public String Suffix
		{
			get { return _Suffix; }
			set { if (OnPropertyChange("Suffix", value)) _Suffix = value; }
		}

		private String _IsOriginal;
		/// <summary>
		/// 是否原始
		/// </summary>
		[Description("是否原始")]
		[DataObjectField(false, false, true, 1)]
		[BindColumn(13, "IsOriginal", "是否原始", "", "nvarchar(1)", 0, 0, true)]
		public String IsOriginal
		{
			get { return _IsOriginal; }
			set { if (OnPropertyChange("IsOriginal", value)) _IsOriginal = value; }
		}

		private String _Info;
		/// <summary>
		/// 信息
		/// </summary>
		[Description("信息")]
		[DataObjectField(false, false, true, 500)]
		[BindColumn(14, "Info", "信息", "", "nvarchar(500)", 0, 0, true)]
		public String Info
		{
			get { return _Info; }
			set { if (OnPropertyChange("Info", value)) _Info = value; }
		}

		private String _System;
		/// <summary>
		/// 
		/// </summary>
		[Description("")]
		[DataObjectField(false, false, true, 20)]
		[BindColumn(15, "System", "", "", "nvarchar(20)", 0, 0, true)]
		public String System
		{
			get { return _System; }
			set { if (OnPropertyChange("System", value)) _System = value; }
		}

		private String _FileSize;
		/// <summary>
		/// 文件大小
		/// </summary>
		[Description("文件大小")]
		[DataObjectField(false, false, true, 20)]
		[BindColumn(16, "FileSize", "文件大小", "", "nvarchar(20)", 0, 0, true)]
		public String FileSize
		{
			get { return _FileSize; }
			set { if (OnPropertyChange("FileSize", value)) _FileSize = value; }
		}

		private DateTime _PublishDate;
		/// <summary>
		/// 发布日期
		/// </summary>
		[Description("发布日期")]
		[DataObjectField(false, false, true, 7)]
		[BindColumn(17, "PublishDate", "发布日期", "", "datetime2", 7, 0, false)]
		public DateTime PublishDate
		{
			get { return _PublishDate; }
			set { if (OnPropertyChange("PublishDate", value)) _PublishDate = value; }
		}

		private String _Duration;
		/// <summary>
		/// 
		/// </summary>
		[Description("")]
		[DataObjectField(false, false, true, 20)]
		[BindColumn(18, "Duration", "", "", "nvarchar(20)", 0, 0, true)]
		public String Duration
		{
			get { return _Duration; }
			set { if (OnPropertyChange("Duration", value)) _Duration = value; }
		}

		private DateTime _ProduceTime;
		/// <summary>
		/// 专业
		/// </summary>
		[Description("专业")]
		[DataObjectField(false, false, true, 7)]
		[BindColumn(19, "ProduceTime", "专业", "", "datetime2", 7, 0, false)]
		public DateTime ProduceTime
		{
			get { return _ProduceTime; }
			set { if (OnPropertyChange("ProduceTime", value)) _ProduceTime = value; }
		}

		private String _Author;
		/// <summary>
		/// 作者
		/// </summary>
		[Description("作者")]
		[DataObjectField(false, false, true, 100)]
		[BindColumn(20, "Author", "作者", "", "nvarchar(100)", 0, 0, true)]
		public String Author
		{
			get { return _Author; }
			set { if (OnPropertyChange("Author", value)) _Author = value; }
		}

		private Int32 _Integral;
		/// <summary>
		/// 
		/// </summary>
		[Description("")]
		[DataObjectField(false, false, true, 10)]
		[BindColumn(21, "Integral", "", "", "int", 10, 0, false)]
		public Int32 Integral
		{
			get { return _Integral; }
			set { if (OnPropertyChange("Integral", value)) _Integral = value; }
		}

		private String _SourceURL;
		/// <summary>
		/// 源网址
		/// </summary>
		[Description("源网址")]
		[DataObjectField(false, false, true, 500)]
		[BindColumn(22, "SourceURL", "源网址", "", "nvarchar(500)", 0, 0, true)]
		public String SourceURL
		{
			get { return _SourceURL; }
			set { if (OnPropertyChange("SourceURL", value)) _SourceURL = value; }
		}

		private Int32 _Status;
		/// <summary>
		/// 状态
		/// </summary>
		[Description("状态")]
		[DataObjectField(false, false, true, 10)]
		[BindColumn(23, "Status", "状态", "", "int", 10, 0, false)]
		public Int32 Status
		{
			get { return _Status; }
			set { if (OnPropertyChange("Status", value)) _Status = value; }
		}

		private Int32 _OrderFlag;
		/// <summary>
		/// 订单标记
		/// </summary>
		[Description("订单标记")]
		[DataObjectField(false, false, false, 10)]
		[BindColumn(24, "OrderFlag", "订单标记", "", "int", 10, 0, false)]
		public Int32 OrderFlag
		{
			get { return _OrderFlag; }
			set { if (OnPropertyChange("OrderFlag", value)) _OrderFlag = value; }
		}

		private String _Prop1;
		/// <summary>
		/// 属性1
		/// </summary>
		[Description("属性1")]
		[DataObjectField(false, false, true, 50)]
		[BindColumn(25, "Prop1", "属性1", "", "nvarchar(50)", 0, 0, true)]
		public String Prop1
		{
			get { return _Prop1; }
			set { if (OnPropertyChange("Prop1", value)) _Prop1 = value; }
		}

		private String _Prop2;
		/// <summary>
		/// 属性2
		/// </summary>
		[Description("属性2")]
		[DataObjectField(false, false, true, 50)]
		[BindColumn(26, "Prop2", "属性2", "", "nvarchar(50)", 0, 0, true)]
		public String Prop2
		{
			get { return _Prop2; }
			set { if (OnPropertyChange("Prop2", value)) _Prop2 = value; }
		}

		private String _Prop3;
		/// <summary>
		/// 属性3
		/// </summary>
		[Description("属性3")]
		[DataObjectField(false, false, true, 50)]
		[BindColumn(27, "Prop3", "属性3", "", "nvarchar(50)", 0, 0, true)]
		public String Prop3
		{
			get { return _Prop3; }
			set { if (OnPropertyChange("Prop3", value)) _Prop3 = value; }
		}

		private String _Prop4;
		/// <summary>
		/// 属性4
		/// </summary>
		[Description("属性4")]
		[DataObjectField(false, false, true, 50)]
		[BindColumn(28, "Prop4", "属性4", "", "nvarchar(50)", 0, 0, true)]
		public String Prop4
		{
			get { return _Prop4; }
			set { if (OnPropertyChange("Prop4", value)) _Prop4 = value; }
		}

		private String _AddUser;
		/// <summary>
		/// 添加用户
		/// </summary>
		[Description("添加用户")]
		[DataObjectField(false, false, false, 50)]
		[BindColumn(29, "AddUser", "添加用户", "", "nvarchar(50)", 0, 0, true)]
		public String AddUser
		{
			get { return _AddUser; }
			set { if (OnPropertyChange("AddUser", value)) _AddUser = value; }
		}

		private DateTime _AddTime;
		/// <summary>
		/// 添加时间
		/// </summary>
		[Description("添加时间")]
		[DataObjectField(false, false, false, 7)]
		[BindColumn(30, "AddTime", "添加时间", "", "datetime2", 7, 0, false)]
		public DateTime AddTime
		{
			get { return _AddTime; }
			set { if (OnPropertyChange("AddTime", value)) _AddTime = value; }
		}

		private String _ModifyUser;
		/// <summary>
		/// 修改用户
		/// </summary>
		[Description("修改用户")]
		[DataObjectField(false, false, true, 50)]
		[BindColumn(31, "ModifyUser", "修改用户", "", "nvarchar(50)", 0, 0, true)]
		public String ModifyUser
		{
			get { return _ModifyUser; }
			set { if (OnPropertyChange("ModifyUser", value)) _ModifyUser = value; }
		}

		private DateTime _ModifyTime;
		/// <summary>
		/// 修改时间
		/// </summary>
		[Description("修改时间")]
		[DataObjectField(false, false, true, 7)]
		[BindColumn(32, "ModifyTime", "修改时间", "", "datetime2", 7, 0, false)]
		public DateTime ModifyTime
		{
			get { return _ModifyTime; }
			set { if (OnPropertyChange("ModifyTime", value)) _ModifyTime = value; }
		}

		private String _BackupNo;
		/// <summary>
		/// 备份编号
		/// </summary>
		[Description("备份编号")]
		[DataObjectField(false, false, true, 15)]
		[BindColumn(33, "BackupNo", "备份编号", "", "nvarchar(15)", 0, 0, true)]
		public String BackupNo
		{
			get { return _BackupNo; }
			set { if (OnPropertyChange("BackupNo", value)) _BackupNo = value; }
		}

		private String _BackupOperator;
		/// <summary>
		/// 备份操作者
		/// </summary>
		[Description("备份操作者")]
		[DataObjectField(false, false, true, 200)]
		[BindColumn(34, "BackupOperator", "备份操作者", "", "nvarchar(200)", 0, 0, true)]
		public String BackupOperator
		{
			get { return _BackupOperator; }
			set { if (OnPropertyChange("BackupOperator", value)) _BackupOperator = value; }
		}

		private DateTime _BackupTime;
		/// <summary>
		/// 备份时间
		/// </summary>
		[Description("备份时间")]
		[DataObjectField(false, false, true, 7)]
		[BindColumn(35, "BackupTime", "备份时间", "", "datetime2", 7, 0, false)]
		public DateTime BackupTime
		{
			get { return _BackupTime; }
			set { if (OnPropertyChange("BackupTime", value)) _BackupTime = value; }
		}

		private String _BackupMemo;
		/// <summary>
		/// 备份注释
		/// </summary>
		[Description("备份注释")]
		[DataObjectField(false, false, true, 50)]
		[BindColumn(36, "BackupMemo", "备份注释", "", "nvarchar(50)", 0, 0, true)]
		public String BackupMemo
		{
			get { return _BackupMemo; }
			set { if (OnPropertyChange("BackupMemo", value)) _BackupMemo = value; }
		}
		#endregion

		#region 获取/设置 字段值
		/// <summary>
		/// 获取/设置 字段值。
		/// 一个索引，基类使用反射实现。
		/// 派生实体类可重写该索引，以避免反射带来的性能损耗
		/// </summary>
		/// <param name="name">字段名</param>
		/// <returns></returns>
		public override Object this[String name]
		{
			get
			{
				switch (name)
				{
					case "ID" : return _ID;
					case "Name" : return _Name;
					case "OldName" : return _OldName;
					case "SiteID" : return _SiteID;
					case "Tag" : return _Tag;
					case "CatalogID" : return _CatalogID;
					case "CatalogInnerCode" : return _CatalogInnerCode;
					case "BranchInnerCode" : return _BranchInnerCode;
					case "Path" : return _Path;
					case "FileName" : return _FileName;
					case "SrcFileName" : return _SrcFileName;
					case "Suffix" : return _Suffix;
					case "IsOriginal" : return _IsOriginal;
					case "Info" : return _Info;
					case "System" : return _System;
					case "FileSize" : return _FileSize;
					case "PublishDate" : return _PublishDate;
					case "Duration" : return _Duration;
					case "ProduceTime" : return _ProduceTime;
					case "Author" : return _Author;
					case "Integral" : return _Integral;
					case "SourceURL" : return _SourceURL;
					case "Status" : return _Status;
					case "OrderFlag" : return _OrderFlag;
					case "Prop1" : return _Prop1;
					case "Prop2" : return _Prop2;
					case "Prop3" : return _Prop3;
					case "Prop4" : return _Prop4;
					case "AddUser" : return _AddUser;
					case "AddTime" : return _AddTime;
					case "ModifyUser" : return _ModifyUser;
					case "ModifyTime" : return _ModifyTime;
					case "BackupNo" : return _BackupNo;
					case "BackupOperator" : return _BackupOperator;
					case "BackupTime" : return _BackupTime;
					case "BackupMemo" : return _BackupMemo;
					default: return base[name];
				}
			}
			set
			{
				switch (name)
				{
					case "ID" : _ID = Convert.ToInt32(value); break;
					case "Name" : _Name = Convert.ToString(value); break;
					case "OldName" : _OldName = Convert.ToString(value); break;
					case "SiteID" : _SiteID = Convert.ToInt32(value); break;
					case "Tag" : _Tag = Convert.ToString(value); break;
					case "CatalogID" : _CatalogID = Convert.ToInt32(value); break;
					case "CatalogInnerCode" : _CatalogInnerCode = Convert.ToString(value); break;
					case "BranchInnerCode" : _BranchInnerCode = Convert.ToString(value); break;
					case "Path" : _Path = Convert.ToString(value); break;
					case "FileName" : _FileName = Convert.ToString(value); break;
					case "SrcFileName" : _SrcFileName = Convert.ToString(value); break;
					case "Suffix" : _Suffix = Convert.ToString(value); break;
					case "IsOriginal" : _IsOriginal = Convert.ToString(value); break;
					case "Info" : _Info = Convert.ToString(value); break;
					case "System" : _System = Convert.ToString(value); break;
					case "FileSize" : _FileSize = Convert.ToString(value); break;
					case "PublishDate" : _PublishDate = Convert.ToDateTime(value); break;
					case "Duration" : _Duration = Convert.ToString(value); break;
					case "ProduceTime" : _ProduceTime = Convert.ToDateTime(value); break;
					case "Author" : _Author = Convert.ToString(value); break;
					case "Integral" : _Integral = Convert.ToInt32(value); break;
					case "SourceURL" : _SourceURL = Convert.ToString(value); break;
					case "Status" : _Status = Convert.ToInt32(value); break;
					case "OrderFlag" : _OrderFlag = Convert.ToInt32(value); break;
					case "Prop1" : _Prop1 = Convert.ToString(value); break;
					case "Prop2" : _Prop2 = Convert.ToString(value); break;
					case "Prop3" : _Prop3 = Convert.ToString(value); break;
					case "Prop4" : _Prop4 = Convert.ToString(value); break;
					case "AddUser" : _AddUser = Convert.ToString(value); break;
					case "AddTime" : _AddTime = Convert.ToDateTime(value); break;
					case "ModifyUser" : _ModifyUser = Convert.ToString(value); break;
					case "ModifyTime" : _ModifyTime = Convert.ToDateTime(value); break;
					case "BackupNo" : _BackupNo = Convert.ToString(value); break;
					case "BackupOperator" : _BackupOperator = Convert.ToString(value); break;
					case "BackupTime" : _BackupTime = Convert.ToDateTime(value); break;
					case "BackupMemo" : _BackupMemo = Convert.ToString(value); break;
					default: base[name] = value; break;
				}
			}
		}
		#endregion

		#region 字段名
		/// <summary>
		/// 取得声音字段名的快捷方式
		/// </summary>
		public class _
		{
			///<summary>
			/// 编号
			///</summary>
			public const String ID = "ID";

			///<summary>
			/// 名称
			///</summary>
			public const String Name = "Name";

			///<summary>
			/// 
			///</summary>
			public const String OldName = "OldName";

			///<summary>
			/// 站点编号
			///</summary>
			public const String SiteID = "SiteID";

			///<summary>
			/// 标签
			///</summary>
			public const String Tag = "Tag";

			///<summary>
			/// 类别编号
			///</summary>
			public const String CatalogID = "CatalogID";

			///<summary>
			/// 类别内部代码
			///</summary>
			public const String CatalogInnerCode = "CatalogInnerCode";

			///<summary>
			/// 分支内部代码
			///</summary>
			public const String BranchInnerCode = "BranchInnerCode";

			///<summary>
			/// 路径
			///</summary>
			public const String Path = "Path";

			///<summary>
			/// 文件名称
			///</summary>
			public const String FileName = "FileName";

			///<summary>
			/// 
			///</summary>
			public const String SrcFileName = "SrcFileName";

			///<summary>
			/// 
			///</summary>
			public const String Suffix = "Suffix";

			///<summary>
			/// 是否原始
			///</summary>
			public const String IsOriginal = "IsOriginal";

			///<summary>
			/// 信息
			///</summary>
			public const String Info = "Info";

			///<summary>
			/// 
			///</summary>
			public const String System = "System";

			///<summary>
			/// 文件大小
			///</summary>
			public const String FileSize = "FileSize";

			///<summary>
			/// 发布日期
			///</summary>
			public const String PublishDate = "PublishDate";

			///<summary>
			/// 
			///</summary>
			public const String Duration = "Duration";

			///<summary>
			/// 专业
			///</summary>
			public const String ProduceTime = "ProduceTime";

			///<summary>
			/// 作者
			///</summary>
			public const String Author = "Author";

			///<summary>
			/// 
			///</summary>
			public const String Integral = "Integral";

			///<summary>
			/// 源网址
			///</summary>
			public const String SourceURL = "SourceURL";

			///<summary>
			/// 状态
			///</summary>
			public const String Status = "Status";

			///<summary>
			/// 订单标记
			///</summary>
			public const String OrderFlag = "OrderFlag";

			///<summary>
			/// 属性1
			///</summary>
			public const String Prop1 = "Prop1";

			///<summary>
			/// 属性2
			///</summary>
			public const String Prop2 = "Prop2";

			///<summary>
			/// 属性3
			///</summary>
			public const String Prop3 = "Prop3";

			///<summary>
			/// 属性4
			///</summary>
			public const String Prop4 = "Prop4";

			///<summary>
			/// 添加用户
			///</summary>
			public const String AddUser = "AddUser";

			///<summary>
			/// 添加时间
			///</summary>
			public const String AddTime = "AddTime";

			///<summary>
			/// 修改用户
			///</summary>
			public const String ModifyUser = "ModifyUser";

			///<summary>
			/// 修改时间
			///</summary>
			public const String ModifyTime = "ModifyTime";

			///<summary>
			/// 备份编号
			///</summary>
			public const String BackupNo = "BackupNo";

			///<summary>
			/// 备份操作者
			///</summary>
			public const String BackupOperator = "BackupOperator";

			///<summary>
			/// 备份时间
			///</summary>
			public const String BackupTime = "BackupTime";

			///<summary>
			/// 备份注释
			///</summary>
			public const String BackupMemo = "BackupMemo";
		}
		#endregion
	}
}